package com.chen.blue.domain.vo.system;

import com.chen.blue.base.ResultBase;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * Created By CLT On 2024/4/27.
 */
@SuppressWarnings("all")
@Getter
@Setter
@ApiModel("用户数据展示")
public class UserVo implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 用户ID
     */
    @ApiModelProperty("用户ID")
    private Long id;

    /**
     * 用户昵称
     */
    @ApiModelProperty("用户昵称")
    private String nickname;

    private String username;

    /**
     * 数据权限类型
     */
    @ApiModelProperty(value = "数据权限类型")
    private Integer dataScopeType;

    private Long deptId;

    @ApiModelProperty(value = "部门名称")
    private String deptName;

    @JsonIgnore
    private String postIds;

    private List<Long> postIdArr;

    private List<Long> roleIds;


    /**
     * 手机号码
     */
    private String mobile;

    /**
     * 用户性别
     */
    private Integer sex;

    /**
     * 用户邮箱
     */
    private String email;

    /**
     * 帐号状态（1正常 0停用）
     */
    @ApiModelProperty("账号状态")
    private Boolean status;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createTime;

    /**
     * 备注
     */
    private String remark;

}
